//  ''.match(/\s+/g)   匹配控字符串
//  ''.match(/\d+/g)   匹配数字

//柯里化案例
const _ = require("lodash");

// function match(reg, str) {
//   return str.match(reg);
// }

//用柯里化改造
const match = _.curry(function (reg, str) {
  return str.match(reg);
});

const haveSpace = match(/\s+/g);
const haveNumber = match(/\d+/g);

console.log(haveSpace(" helloword ")); //输出  ['','']
console.log(haveNumber("abc132")); //输出  ['123']

//filter的柯里化函数(这样写意义不大)

const filter = _.curry(function (fn, array) {
  return array.filter(fn);
});

//es6
// const filter = _.curry((fn, array) => array.filter(fn));

console.log(filter(haveSpace)(["John Connor", "John_Connor"]));

// filter改造
const findSpace = filter(haveSpace);
console.log(findSpace(["John Connor", "John_Connor"]));
